# # 1. 定义普通函数demo，实现两个数的相加
# # 参数a, b：需要相加的两个数
# # 函数功能：计算a和b的和并返回结果
# def demo(a, b):
#     result = a + b  # 计算a与b的和，存储到result中
#     return result   # 返回相加的结果
#
# # 调用demo函数，传入参数10和20，打印函数返回的结果（10+20=30）
# print(demo(10, 20))  # 输出：30
#
#
# # 2. 使用lambda表达式定义匿名函数（无函数名），实现与上面普通函数相同的功能
# # lambda a,b:a+b 表示：接收参数a和b，返回a+b的结果
# # 将匿名函数赋值给变量result，通过result调用该函数
# result = lambda a, b: a + b
#
# # 调用lambda表达式（通过变量result），传入参数10和20，打印结果（10+20=30）
# print(result(10, 20))  # 输出：30



# 定义用户信息列表，其中每个元素是字典，包含姓名、年龄、职位信息
user_list = [
    {'name':'张三','age':22,'title':'测试工程师'},
    {'name':'李四','age':24,'title':'开发工程师'},
    {'name': '王五', 'age': 21, 'title': '测试工程师'}
]

# 定义lambda匿名函数，参数x代表列表中的每个字典元素，返回该字典中'age'键对应的值（即年龄）
keys = lambda x:x.get("age")

# 对user_list进行排序，key参数指定排序依据为上述lambda函数返回的年龄值，默认升序
user_list.sort(key=keys)
# 打印升序排序后的用户列表
print(user_list)

# 对user_list进行降序排序，reverse=True表示降序，排序依据仍为年龄
user_list.sort(key=keys,reverse=True)
# 打印降序排序后的用户列表
print(user_list)